home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
language
/
modula.zoo
/
_defn_filename.def
< prev
next >
Wrap
Text File
|
1988-04-26
|
2KB
|
77 lines
DEFINITION MODULE Filename; (* Hans Endl 5. 5. 87 *)
(* Version für Atari *)
TYPE
Path = ARRAY [0..63] OF CHAR;
Name = ARRAY [0..07] OF CHAR;
Extension = ARRAY [0..02] OF CHAR;
filespec = ARRAY [0..13] OF CHAR; (* Name und Extension *)
fullname = ARRAY [0..79] OF CHAR;
filename = RECORD
drv: CHAR;
path: Path;
name: Name;
ext: Extension;
END;
VAR
empty: filename; (* Filename aus leeren Elementen *)
PROCEDURE compose (VAR n, d: filename; VAR s: ARRAY OF CHAR);
(* Setzt aus dem Filenamenrecord "n" den Filenamen "s"
zusammen, der keine Leerzeichen enthält. Namensteile,
die in "n" nicht besetzt sind, werden aus "d" über-
nommen. Sind sie auch in "d" nicht enthalten, ent-
fallen sie.
*)
PROCEDURE getspec (VAR n: filename; VAR s: ARRAY OF CHAR);
(* Extrahiert aus dem Filenamenrecord "n" den Namen und
die Extension und fügt dazwischen einen Punkt ein,
um das richtige Format für Suchoperationen mit SFirst
zu erhalten.
*)
PROCEDURE parse (VAR s: ARRAY OF CHAR; VAR n: filename);
(* Analysiert den Filenamen "s" auf seine Bestandteile
und trägt sie in den Filenamenrecord "n" ein.
*)
PROCEDURE ClearFilename (VAR fn: filename);
(* Löscht alle Elemente eine Filenamens *)
PROCEDURE GetDriveAndPath (VAR fn: filename);
(* Besetzt "fn.drv" und "fn.path" mit den aktuellen
Werten von GEMDOS
*)
PROCEDURE SelectFilename (VAR mask, name: filename; VAR exit: BOOLEAN);
(* Erzeugt eine Fileselectorbox mit den Elementen aus "mask".
Nicht besetzte Elemente von "mask" werden durch den aktuellen
GEMDOS-Pfad und "*.*" ersetzt. Eine Voreinstellung eines Namens
kann in "name.name" und "name.ext" übergeben werden.
Nach dem Aufruf enthält "name" alle Elemente des Pfadnamens
der ausgewählten Datei.
*)
END Filename.